file chooser: Ensure the path bar is initialized
authorMatthias Clasen <mclasen@redhat.com>
Sun, 18 Jan 2015 22:13:12 +0000 (17:13 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 18 Jan 2015 22:13:12 +0000 (17:13 -0500)
There are some cases where we can end up showing the path
bar without ever setting a file on it. One example is:
1) Open file chooser
2) Hit ~
3) Hit Ctrl-L
While this is a bit of a workaround, at least it makes sure
that we never end up with an empty space where the path bar
is supposed to be.

gtk/gtkfilechooserwidget.c

index 9ed0e5d4f4250e97f1dd17d5cb6079d17d102539..1681e084925d7ebdeb19bf697555b7cec4cb0acf 100644 (file)
@@ -7456,6 +7456,7 @@ post_process_ui (GtkFileChooserWidget *impl)
   GtkTreeSelection *selection;
   GtkCellRenderer  *cell;
   GList            *cells;
+  GFile            *file;
 
   /* Some qdata, qdata can't be set with GtkBuilder */
   g_object_set_data (G_OBJECT (impl->priv->browse_files_tree_view), "fmq-name", "file_list");
@@ -7501,6 +7502,9 @@ post_process_ui (GtkFileChooserWidget *impl)
 
   /* Set the GtkPathBar file system backend */
   _gtk_path_bar_set_file_system (GTK_PATH_BAR (impl->priv->browse_path_bar), impl->priv->file_system);
+  file = g_file_new_for_path ("/");
+  _gtk_path_bar_set_file (GTK_PATH_BAR (impl->priv->browse_path_bar), file, FALSE);
+  g_object_unref (file);
 
   /* Set the fixed size icon renderer, this requires
    * that priv->icon_size be already setup.